package utils

import (
	"strings"
)

// HasPermission 检查用户权限的模板函数
// 在模板中使用时需要传入用户权限列表
func HasPermission(userPermissions []string, permission string) bool {
	for _, p := range userPermissions {
		if p == permission {
			return true
		}
	}
	return false
}

// HasAnyPermission 检查用户是否拥有任一权限
func HasAnyPermission(userPermissions []string, permissions ...string) bool {
	for _, permission := range permissions {
		if HasPermission(userPermissions, permission) {
			return true
		}
	}
	return false
}

// Substr 字符串截取
func Substr(s string, start, length int) string {
	if start >= len(s) {
		return ""
	}
	if start+length > len(s) {
		return s[start:]
	}
	return s[start : start+length]
}

// Eq 比较两个值是否相等
func Eq(a, b interface{}) bool {
	return a == b
}

// Contains 检查字符串是否包含子串
func Contains(s, substr string) bool {
	return strings.Contains(s, substr)
}